草庐IT

月薪过 3w 的 软件测试 员都是怎么做到的?

全部标签

ruby - Rspec 运行除特定文件夹之外的所有测试

我正在处理的项目有一个相当大的测试套件。我目前正在编写单独运行时通过的测试,但是当我运行整个测试套件$rspec时,我遇到了一些导致测试失败的非常时髦的行为。现在测试是这样嵌套的:spec/folder1/folder2/folder3/test.rb这些命令中的每一个都可以正常运行测试并且一切都通过了:$rspecspec/folder1/folder2/folder3$rspecspec/folder1/folder2$rspecspec/folder1/与folder1处于同一级别的大约10个其他文件夹我不想单独与套件的其余部分一起运行,以确定哪个文件夹包含破坏测试的测试我正在努

ruby - 如何测试使用 mechanize 的 ruby​​ 应用程序

我编写了一个使用Mechanize遍历站点的小程序。我想为它编写测试,但不希望它在我每次运行测试时都实际登录该站点。我想模拟互联网,这样当它访问某个站点时,它只会返回存储的结果。这是一个小例子,假装我的代码的目的是从google主页中提取链接,所以我编写了一个测试以确保我的代码找到的第一个链接包含文本“图像”。我可能会这样写:require'rubygems'require'mechanize'require'test/unit'defmy_code_to_find_linksgoogle=WWW::Mechanize.new.get('http://www.google.com')#

ruby-on-rails - 如何在 Rails 测试中轻松解析带参数的 URL?

我有一些代码将return_toURL嵌入到我要测试的重定向(如OpenID)中:deftest_uses_referrer_for_return_toexpected_return_to='http://test.com/foo'@request.env['HTTP_REFERER']=expected_return_toget:fazbot#@response.redirected_tolookslikehttp://service.com?...&return_to=[URI-encodedversionofURLabove]&...encoded_return_to=(some

ruby-on-rails - 如何在 resque-retry 和 Rails 4 中测试重试和失败?

我正在尝试编写一个规范来测试resque-retry的重试功能,但我似乎无法让测试正确命中binding.pry。有没有一种方法可以使用rspec3测试此功能,以便我可以验证它们是否按预期运行?这是一个请求规范,我正在尝试通过固定装置模拟实时请求,但无论我尝试什么,我似乎都无法让作业重试。gem'resque',require:'resque/server'gem'resque-web',require:'resque_web'gem'resque-scheduler'gem'resque-retry'gem'resque-lock-timeout'我正在使用resque_rspec,

ruby-on-rails - 在某些 RSpec rails 请求示例中测试 HTTP 状态代码,但在其他示例中测试引发的异常

在使用rspec-rails测试的Rails4.2.0应用程序中,我提供了一个JSONWebAPI,它带有一个类似REST的资源,带有强制属性mand_attr.当POST请求中缺少该属性时,我想测试此API是否使用HTTP代码400(BADREQUEST)进行响应。(参见下图第二个示例。)我的Controller尝试通过抛出ActionController::ParameterMissing来引发此HTTP代码,如下面的第一个RSpec示例所示。在otherRSpec示例中,我希望引发的异常被示例拯救(如果它们是预期的)或击中测试运行器,所以它们显示给开发人员(如果错误是意外的),因

css - 有没有办法用 Selenium 测试响应式 CSS?

我公司的开发人员已将我们的网站实现为CSS响应式,但我对如何利用Selenium来测试他们的工作感到困惑。我一直在将SeleniumWebDriver(Selenium2)与Ruby一起用于其他方面。在网上做了一些研究后,我遇到了多种工具,但没有一个值得自动化,因为它们..aaa...只是用于手动检查不同屏幕尺寸的网络工具。一些例子-DeviceTestingforResonsiveCSSLayouts(Manual)ResponsinatorResponsive.isResponsivepx(控制越多越好)但我可以使用Selenium以及使用sel2/ruby非常轻松地实现上述目标@

ruby - 在 rspec 测试中放入方法

我的文件规范.rb:require'spec_helper'require'my_file'moduleMdescribeCdoit'shouldprinteverything'doc=C.newc.meth.should=="something"endendend我的文件.rb:moduleMclassCputs"classTEXT"#label1defmethputs"methodTEXT"#label2return"something"endendend输出是:classTEXTM::CshouldprinteverythingFinishedin0.75seconds1exam

ruby - 在每种方法之后检测 Rspec 测试失败

我正在尝试运行RSpec测试,我想检测测试是否在after方法中失败。我现在有这样的东西:after(:each)docc=ConnectController.new()cc.update(,,result?)end如您所见,result?函数是我需要替换的,用于检测测试是否失败,以及获取有关失败测试的信息。 最佳答案 除了Daniel的回答之外,在Rspec3中删除了示例方法(有关更多信息,请参阅here)。你将不得不做这样的事情:after(:each)do|example|ifexample.exception#...ende

ruby - REST API 测试 cucumber 步骤最佳实践

尝试为RESTAPI测试编写cucumber功能步骤。我不确定哪种方法更好:GivenIloginwithusernameandpasswordWhenIaddone"tv"intomycartAndIcheckmycartThenIshouldseetheitem"tv"isinmycart或GiventheclientauthenticatewithusernameandpasswordWhentheclientsendPOSTto"/cart/add"withbody"{item:body}"Thentheresponsecodeshouldbe"200"Andtherespon

ruby-on-rails - 如何在 ruby​​ Test::Unit 框架中运行单个 shoulda 上下文测试

我通常可以对方法“delete_user_test”使用以下命令行语法来测试常规Test::Unit方法:rubyfunctional/user_controller_test.rb-ndelete_user_test现在,当我将shoulda插件与Test::Unit一起使用时,我尝试使用如下相同的技术:...context"DeletingaUser"doshould"removeuserfromusertable"do...endend然后我尝试按如下方式运行单个测试:rubyfunctional/user_controller_test.rb-n"test:DeletingaU